/*
** ############################################################################
**     Project   : osdee - Operative Systems Design for Embedded Envrionments
**     File      : OS_Cfg.c
**     Revision  ; 1.0
**     Abstract  :
**         Scheduler Configuration implementation.
**         Here the Scheduler operation parameters should be adapted.
**
**     Copyright : 2014 Fernando Rodriguez - Victor Huidobro, 
**                 Open source with out any responsability.
**     
**     mail      : frr@gmail.com, vhuidobrog@gmail.com
** ############################################################################
*/

#include "OS_TaskCfg.h"

/*
** ===================================================================
**     Type        :  ser_tOS_configuration
**
**     Description :
**         Scheduler General Configuration.
**         Here is where OS TICK rate and tasks properties can be specified. 
**         In order to add more tasks then OS_CONFIGURED_TASKS also must be updated.
** ===================================================================
*/
const tsOS_Task_Cfg tOS_TaskDescriptor[]= 
{
  /* Tasks Configuration*/
    /* Task 1 */
    {
      OS_Task_1,        /* Task Id       */
      0,                /* Task Mask     */
      1,                /* Task Offset  1*/
      0,                /* Priority      */
      vTask_1,          /* Task Callback */
      0,                /* Stack Size    */
      0                 /* Relative Deadline */
    },
    /* Task 2 */
    {
      OS_Task_2,        /* Task Id       */
      0,                /* Task Mask     */
      1,                /* Task Offset  2*/
      12,                /* Priority      */
      vTask_2,          /* Task Callback */
      0,                /* Stack Size    */
      0                 /* Relative Deadline */
    },
    /* Task 3 */
    {
      OS_Task_3,         /* Task Id       */
      7,                 /* Task Mask     */
      4,                 /* Task Offset  4*/
      4,                 /* Priority      */
      vTask_3,           /* Task Callback */
      0,                 /* Stack Size    */
      0                  /* Relative Deadline */
    },
    /* Task 4 */
    {
      OS_Task_4,         /* Task Id       */
      15,                /* Task Mask     */
      8,                 /* Task Offset  8*/
      5,                 /* Priority      */
      vTask_4,           /* Task Callback */
      0,                 /* Stack Size    */
      0                  /* Relative Deadline */
    },
    /* Task 5 */
    {
      OS_Task_5,         /* Task Id       */
      31,                /* Task Mask     */
      16,                /* Task Offset 16*/
      5,                /* Priority      */
      vTask_5,           /* Task Callback */
      0,                 /* Stack Size    */
      0                  /* Relative Deadline */
    },
    /* Task 6 */
    {
      OS_Task_6,         /* Task Id       */
      63,                /* Task Mask     */
      32,                /* Task Offset 32*/
      1,                 /* Priority      */
      vTask_6,           /* Task Callback */
      0,                 /* Stack Size    */
      0                  /* Relative Deadline */
    },
    /* Task 7 */
    {
      OS_Task_7,         /* Task Id       */
      127,               /* Task Mask     */
      64,                /* Task Offset 64*/
      7,                 /* Priority      */
      vTask_7,           /* Task Callback */
      0,                 /* Stack Size    */
      0                  /* Relative Deadline */
    }
};

const tsOS_Des_Cfg TaskConfig[]= 
{
  &tOS_TaskDescriptor[0],
  sizeof(tOS_TaskDescriptor)/sizeof(tOS_TaskDescriptor[0])
};
